package cn.darkhorse.ticket.production.service;

import cn.darkhorse.ticket.production.dto.TicketProductionPlanInfoDTO;
import cn.darkhorse.ticket.production.pojo.TicketProductionPlanInfo;
import cn.darkhorse.ticket.production.pojo.TicketProductionPlanProductInfo;
import cn.darkhorse.ticket.production.vo.TicketProductionPlanInfoVO;
import cn.darkhorse.ticket.production.vo.TicketProductionPlanInfoViewVO;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.core.page.TableDataInfo;

import java.util.List;

/**
 * <p>
 * 生产计划信息 服务类
 * </p>
 *
 * @author maoguanjun
 * @since 2024-01-19
 */
public interface TicketProductionPlanInfoService extends IService<TicketProductionPlanInfo> {
    /**
     * 列表
     * @param dto
     * @return
     */
    TableDataInfo listAll(TicketProductionPlanInfoDTO dto);

    /**
     * 保存
     * @param info
     * @return
     */
    boolean savePlan(TicketProductionPlanInfoVO info);

    /**
     * 查看
     * @param dataId
     * @return
     */
    TicketProductionPlanInfoViewVO view(Long dataId);

    /**
     * 关闭计划
     * @param dataId
     * @return
     */
    boolean close(Long dataId);

    /**
     * 创建工单
     * @param dataId 计划Id
     * @param dataDetailId 产品明细Id
     * @return
     */
    String createTicket(Long dataId,Long dataDetailId);

    /**
     * 获取未生成工单计划产品
     * @param dataId
     * @return
     */
    List<TicketProductionPlanProductInfo> getProduct(Long dataId);
}
